package com.smart.community.region.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 店铺租金统计VO
 * 
 * @author Wu.Liang
 * @version 1.0.0
 * @since 2025-01-30
 */
@Data
@Schema(description = "店铺租金统计VO")
public class ShopRentStatisticsVO {
    
    /**
     * 总记录数
     */
    @Schema(description = "总记录数")
    private Long totalRecords;
    
    /**
     * 总租金金额
     */
    @Schema(description = "总租金金额")
    private BigDecimal totalRentAmount;
    
    /**
     * 已支付记录数
     */
    @Schema(description = "已支付记录数")
    private Long paidRecords;
    
    /**
     * 已支付金额
     */
    @Schema(description = "已支付金额")
    private BigDecimal paidAmount;
    
    /**
     * 未支付记录数
     */
    @Schema(description = "未支付记录数")
    private Long unpaidRecords;
    
    /**
     * 未支付金额
     */
    @Schema(description = "未支付金额")
    private BigDecimal unpaidAmount;
    
    /**
     * 逾期记录数
     */
    @Schema(description = "逾期记录数")
    private Long overdueRecords;
    
    /**
     * 逾期金额
     */
    @Schema(description = "逾期金额")
    private BigDecimal overdueAmount;
    
    /**
     * 支付率（百分比）
     */
    @Schema(description = "支付率（百分比）")
    private BigDecimal paymentRate;
    
    /**
     * 平均租金金额
     */
    @Schema(description = "平均租金金额")
    private BigDecimal averageRentAmount;
    
    /**
     * 统计开始日期
     */
    @Schema(description = "统计开始日期")
    private LocalDate startDate;
    
    /**
     * 统计结束日期
     */
    @Schema(description = "统计结束日期")
    private LocalDate endDate;
    
    /**
     * 店铺ID
     */
    @Schema(description = "店铺ID")
    private Long shopId;
    
    /**
     * 店铺名称
     */
    @Schema(description = "店铺名称")
    private String shopName;
}